/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package utilities;

import BD.QueryResult;
import classes.Series;
import classes.Teste_Acesso_BD;
import classes.Utilizador;
import java.sql.ResultSet;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;
import java.util.logging.Level;
import java.util.logging.Logger;
import sun.util.calendar.CalendarDate;

/**
 *
 * @author Mafalda
 */
public class Utilitario {
    private Teste_Acesso_BD testeBD;

    public Utilitario() {
        this.testeBD = new Teste_Acesso_BD();
        testeBD.carregaDriverEAbreConnection();
        testeBD.abreStatement();
    }
    

    
    public Utilizador devolveUtilizador(String username, String password){
        System.out.println(" " + username + " " + password );
        Hashtable params = new Hashtable();
        params.put("var_username", username);
        params.put("var_password", password);
        ResultSet rs = null;
        Utilizador temp = null;
        try {
            rs  = testeBD.executeSelect("devolve_utilizador", params);
            while(rs.next()){
              temp = new Utilizador(Integer.parseInt(rs.getString("idUtilizador")), rs.getString("username"), rs.getString("password"), rs.getString("dataNascimento"), rs.getString("email"));
            }
            
        } catch (Exception ex) {
        System.out.println("ENTREI");
        }
        return temp;
    }
    
    public int registoUtilizador(String username, String password, String dataNascimento, String email){
        int row=0;
        System.out.print(username + "-" + password + "-" + dataNascimento + "-" + email);
        Hashtable paramsRegisto = new Hashtable();
        paramsRegisto.put("var_username", username);
        paramsRegisto.put("var_password", password);
        paramsRegisto.put("var_dataNascimento", dataNascimento);
        paramsRegisto.put("var_email", email);
       
        
        try {
            row=testeBD.executeInsert("registar_utilizador", paramsRegisto);
            
        } catch (Exception e) {
            
        }
        return row;
        
    }
    
    
    public Series devolveSeries(String nome, int likes, int anoLancamento, String descricao, String genero, int temporadas){
        // System.out.print(username + "-" + password + "-" + dataNascimento + "-" + email);
        Hashtable paramsSeries = new Hashtable();
        paramsSeries.put("var_nome", nome);
        paramsSeries.put("var_likes", likes);
        paramsSeries.put("var_anoLanacamento", anoLancamento);
        paramsSeries.put("var_descricao", descricao);
        paramsSeries.put("var_genero", genero);
        paramsSeries.put("var_temporadas", temporadas);
        ResultSet rs = null;
        Series temp = null;
       
        
        try {
            rs  = testeBD.executeSelect("devolve_series", paramsSeries);
            while(rs.next()){
                temp = new Series(rs.getString("nome"), Integer.parseInt(rs.getString("likes")), Integer.parseInt(rs.getString("anoLancamento")), rs.getString("descricao"), rs.getString("genero"), Integer.parseInt(rs.getString("temporadas")));
                //temp = new Utilizador(Integer.parseInt(rs.getString("idUtilizador")), rs.getString("username"), rs.getString("password"), rs.getString("dataNascimento"), rs.getString("email"));
            }
            
        } catch (Exception ex) {
        System.out.println("ENTREI");
        }
        return temp;
        
    }
    
    public static void main(String[] args){
        Utilitario u = new Utilitario();
       // Utilizador ut = u.devolveUtilizador("admin", "admin");
        //System.out.println(ut.toString());
    }
    
}

